1. Field of the Invention
The present invention relates to the art of information processing. It finds particular application in high availability database systems employing smart large objects, and will be described with particular reference thereto. However, the present invention is useful in integrating other data objects stored outside the primary database space with high availability backup and load-sharing database systems.
2. Description of Related Art
High availability data replication provides a hot backup secondary server that is synchronized with a primary database server. Data replication is achieved by transferring log entries of database transactions from the primary server to the secondary server, where they are replayed to provide the synchronization. Besides providing a hot backup, the secondary server advantageously provides read-only access to the database, which permits client load to be balanced between the primary and secondary servers.
A problem arises, however, in synchronizing smart large objects using high availability data replication. A smart large object includes a dedicated space that stores binary or textual content in a random access format. Smart large objects that store binary data are called smart binary large objects (smart BLOB's), while smart large objects that store textual content are called smart character large objects (smart CLOB's). Smart large objects expand the capabilities of the database system by enabling clients to selectively access data from a large block of data without acquiring the entire block of data. Smart BLOB's are particularly flexible insofar as they impose substantially no limitations on the type of stored binary data. Thus, a smart BLOB can contain an image, audio recording, spreadsheet, or otherwise-formatted data in a random access format adapted for a particular client application.
However, smart large objects are not compatible with high availability data replication. Inconsistencies in replicating transactions involving smart large objects arise from interference by other transactions that access the smart large object, including client read-only access requests. Moreover, client reads can be corrupted if the log replay process updates or deletes the smart large object during the read operation. Because of such difficulties, high availability data replication heretofore has been limited to database systems that do not employ smart large objects.
The present invention contemplates an improved method and apparatus which overcomes these limitations and others.